package com.dreamoo.common.pojo.entity;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

/**
 * 睡眠数据实体类
 * 
 * @author dreamoo
 */
@Data
@TableName("sleep_data")
public class SleepData implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    /**
     * 睡眠数据ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    
    /**
     * 用户ID
     */
    @TableField("user_id")
    private Long userId;
    
    /**
     * 睡眠日期
     */
    @TableField("sleep_date")
    private LocalDate sleepDate;
    
    /**
     * 入睡时间
     */
    @TableField("sleep_start_time")
    private LocalDateTime sleepStartTime;
    
    /**
     * 醒来时间
     */
    @TableField("sleep_end_time")
    private LocalDateTime sleepEndTime;
    
    /**
     * 深度睡眠时长(分钟)
     */
    @TableField("deep_sleep_duration")
    private Integer deepSleepDuration;
    
    /**
     * 浅度睡眠时长(分钟)
     */
    @TableField("light_sleep_duration")
    private Integer lightSleepDuration;
    
    /**
     * REM睡眠时长(分钟)
     */
    @TableField("rem_sleep_duration")
    private Integer remSleepDuration;
    
    /**
     * 清醒时长(分钟)
     */
    @TableField("awake_duration")
    private Integer awakeDuration;
    
    /**
     * 睡眠评分(0-100)
     */
    @TableField("sleep_score")
    private Integer sleepScore;
    
    /**
     * 数据来源(设备类型)
     */
    @TableField("data_source")
    private String dataSource;
    
    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;
} 